import 'package:enterprise_v6_app/app/core/values/dimens.dart';
import 'package:flutter/material.dart';

abstract class AppGaps {
  AppGaps._();

  /// 垂直 Vertical 间距
  static Widget vGap2 = buildVGap(AppDimens.dp2);
  static Widget vGap4 = buildVGap(AppDimens.dp4);
  static Widget vGap5 = buildVGap(AppDimens.dp5);
  static Widget vGap6 = buildVGap(AppDimens.dp6);
  static Widget vGap8 = buildVGap(AppDimens.dp8);
  static Widget vGap10 = buildVGap(AppDimens.dp10);
  static Widget vGap12 = buildVGap(AppDimens.dp12);
  static Widget vGap14 = buildVGap(AppDimens.dp14);
  static Widget vGap16 = buildVGap(AppDimens.dp16);
  static Widget vGap18 = buildVGap(AppDimens.dp18);
  static Widget vGap20 = buildVGap(AppDimens.dp20);
  static Widget vGap24 = buildVGap(AppDimens.dp24);
  static Widget vGap26 = buildVGap(AppDimens.dp26);
  static Widget vGap28 = buildVGap(AppDimens.dp28);
  static Widget vGap30 = buildVGap(AppDimens.dp30);
  static Widget vGap32 = buildVGap(AppDimens.dp32);
  static Widget vGap36 = buildVGap(AppDimens.dp36);
  static Widget vGap40 = buildVGap(AppDimens.dp40);
  static Widget vGap44 = buildVGap(AppDimens.dp44);
  static Widget vGap48 = buildVGap(AppDimens.dp48);
  static Widget vGap50 = buildVGap(AppDimens.dp50);
  static Widget vGap54 = buildVGap(AppDimens.dp54);
  static Widget vGap56 = buildVGap(AppDimens.dp56);
  static Widget vGap58 = buildVGap(AppDimens.dp58);
  static Widget vGap60 = buildVGap(AppDimens.dp60);
  static Widget vGap64 = buildVGap(AppDimens.dp64);
  static Widget vGap100 = buildVGap(AppDimens.dp100);
  static Widget vGap120 = buildVGap(AppDimens.dp120);
  static Widget vGap150 = buildVGap(AppDimens.dp150);
  static Widget vGap256 = buildVGap(AppDimens.dp256);

  /// 水平 Horizontal 间距
  static Widget hGap2 = buildHGap(AppDimens.dp2);
  static Widget hGap4 = buildHGap(AppDimens.dp4);
  static Widget hGap5 = buildHGap(AppDimens.dp5);
  static Widget hGap6 = buildHGap(AppDimens.dp6);
  static Widget hGap8 = buildHGap(AppDimens.dp8);
  static Widget hGap10 = buildHGap(AppDimens.dp10);
  static Widget hGap12 = buildHGap(AppDimens.dp12);
  static Widget hGap14 = buildHGap(AppDimens.dp14);
  static Widget hGap16 = buildHGap(AppDimens.dp16);
  static Widget hGap18 = buildHGap(AppDimens.dp18);
  static Widget hGap20 = buildHGap(AppDimens.dp20);
  static Widget hGap24 = buildHGap(AppDimens.dp24);
  static Widget hGap28 = buildHGap(AppDimens.dp28);
  static Widget hGap30 = buildHGap(AppDimens.dp30);
  static Widget hGap32 = buildHGap(AppDimens.dp32);
  static Widget hGap36 = buildHGap(AppDimens.dp36);
  static Widget hGap40 = buildHGap(AppDimens.dp40);
  static Widget hGap44 = buildHGap(AppDimens.dp44);
  static Widget hGap48 = buildHGap(AppDimens.dp48);
  static Widget hGap50 = buildHGap(AppDimens.dp50);
  static Widget hGap54 = buildHGap(AppDimens.dp54);
  static Widget hGap56 = buildHGap(AppDimens.dp56);
  static Widget hGap58 = buildHGap(AppDimens.dp58);
  static Widget hGap60 = buildHGap(AppDimens.dp60);
  static Widget hGap64 = buildHGap(AppDimens.dp64);
  static Widget hGap100 = buildHGap(AppDimens.dp100);
  static Widget hGap120 = buildHGap(AppDimens.dp120);
  static Widget hGap150 = buildHGap(AppDimens.dp150);
  static Widget hGap256 = buildHGap(AppDimens.dp256);

  /// 0 间距
  static Widget zero = const SizedBox.shrink();

  /// 无穷大间距, 注意用
  static Widget infinity = const SizedBox.expand();

  /// 构建水平间距
  static Widget buildHGap(double width) {
    return buildGap(width: width);
  }

  /// 构建垂直间距
  static Widget buildVGap(double height) {
    return buildGap(height: height);
  }

  /// 构建间距
  static Widget buildGap({double? width, double? height}) {
    return SizedBox(width: width, height: height);
  }
}
